|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectPER.rover.CreepAction
Drives the trikebot a specified distance at a specified angle and speed. This action is different from the DriveToAction in that it uses Omnidirectional steering rather than Ackerman steering. The changes in speed are roughly, but not exactly, linear. Therefor, the rover will drive at the specified speed, but the distance covered will only be approximate and will vary slightly depending on the speed. For a set cm distance, the actual distance covered will be more for slower speeds and less for faster speeds.
Field Summary | |
static byte |
CYCLE_SAFETY
The safety level where the rover will pan its head back and forth to scan for obstacles in its path |
static byte |
NO_SAFETY
The safety level where no obstacle checking is done |
static byte |
STATIC_SAFETY
The safety level where the rover will check for obstacles with its head fixed at pan=angle of travel, tilt=-35 degrees |
Constructor Summary | |
CreepAction(int dist,
int ang,
double speed)
Creates a new CreepAction that does not take pictures and has safety turned off. |
|
CreepAction(int dist,
int ang,
double speed,
boolean takePics)
Creates a new CreepAction with saftey turned off. |
|
CreepAction(int dist,
int ang,
double speed,
byte safetyLevel,
boolean takePics)
Creates a new CreepAction with the specified safety level. |
|
CreepAction(int dist,
int ang,
double speed,
byte safetyLevel,
int pan,
int tilt)
Creates a new CreepAction with the specified safety level that takes pictures at the given pan and tilt. |
Method Summary | |
boolean |
doAction(Rover r)
Tries to start the action. |
long |
getImageUpdateTime()
Lets you know when the last image was taken by this action. |
java.awt.image.BufferedImage |
getRecentImage()
Returns the most recent image taken by this Action. |
int |
getReturnValue()
Returns SUCCESS if the rover drove the entire distance without detecting an obstacle or error. |
java.lang.String |
getShortSummary()
Provides a shortened version of the summary returned by getSummary. |
java.lang.String |
getSummary()
Provides a textual explanation of the Action, such as "turn 90 degrees" |
int |
getTime()
Returns how long the action took to complete the last time it was executed (in milliseconds), or how long the action is expected to take if it has never been executed. |
int |
getTimeRemaining()
How much time until the action finishes (in milliseconds), if it has already started. |
boolean |
isCompleted()
Whether the action has completed. |
boolean |
isSuccess()
Returns true if the rover drove the entire distance without detecting an obstacle or error. |
void |
kill()
Emergency stop - end the action immediately, if it's running. |
void |
setAngle(int ang)
Sets the angle to the given degree (0=straight, 90=left, -90=right). |
void |
setDistance(int distance)
Sets the distance to the given cm value and recalculates how long the action will take. |
void |
setPictureAngles(int pan,
int tilt)
Sets the pan and tilt angles to be used when taking a picture. |
void |
setSafetyLevel(byte level)
Sets the safety level to be used when driving. |
void |
setSpeed(int s)
Sets the speed to the given percent, where 0 is stopped and 1 is full speed. |
void |
setTakePictures(boolean takePictures)
Turns picture taking on or off. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final byte NO_SAFETY
public static final byte CYCLE_SAFETY
public static final byte STATIC_SAFETY
Constructor Detail |
public CreepAction(int dist, int ang, double speed)
dist
- centimeters to moveang
- the angle to drive at. The minimum angle is -90 and
the maximum angle is 90. Anything outside this range will be set
to the closest valid value. (0=straight, 90=left, -90=right)speed
- the speed to drive at. Should be between 0 and 1, where 0 is
stopped and 1 is full speed. Anything less than 0 will be treated as 0.
Anything greater than 1 will be treated as 1.public CreepAction(int dist, int ang, double speed, boolean takePics)
dist
- centimeters to moveang
- the angle to drive at. The minimum angle is -90 and
the maximum angle is 90. Anything outside this range will be set
to the closest valid value. (0=straight, 90=left, -90=right)speed
- the speed to drive at. Should be between 0 and 1, where 0 is
stopped and 1 is full speed. Anything less than 0 will be treated as 0.
Anything greater than 1 will be treated as 1.takePics
- if true, the rover will take pictures as it drivesgetRecentImage()
,
getImageUpdateTime()
public CreepAction(int dist, int ang, double speed, byte safetyLevel, boolean takePics)
dist
- centimeters to moveang
- the angle to drive at. The minimum angle is -90 and
the maximum angle is 90. Anything outside this range will be set
to the closest valid value. (0=straight, 90=left, -90=right)speed
- the speed to drive at. Should be between 0 and 1, where 0 is
stopped and 1 is full speed. Anything less than 0 will be treated as 0.
Anything greater than 1 will be treated as 1.safetyLevel
- CYCLE_SAFETY, STATIC_SAFETY, or NO_SAFETYtakePics
- if true, the rover will take pictures as it drivesgetRecentImage()
,
getImageUpdateTime()
public CreepAction(int dist, int ang, double speed, byte safetyLevel, int pan, int tilt)
The STATIC_SAFETY level does not work well when combined with a pan other than the angle of travel or a tilt other than -35.
dist
- centimeters to moveang
- the angle to drive at. The minimum angle is -90 and
the maximum angle is 90. Anything outside this range will be set
to the closest valid value. (0=straight, 90=left, -90=right)speed
- the speed to drive at. Should be between 0 and 1, where 0 is
stopped and 1 is full speed. Anything less than 0 will be treated as 0.
Anything greater than 1 will be treated as 1.safetyLevel
- CYCLE_SAFETY, STATIC_SAFETY, or NO_SAFETYpan
- The pan angle (in degrees) to position the head at when taking pictures.
This value should be in the range of [-180, 180]. If you choose an angle outside
of this range, the pan will be set to the closest valid value.
Positive angles are to the left.tilt
- The tilt angle (in degrees) to position the head at when taking pictures.
This value should be in the range of [-50, 90]. If you choose an angle outside
of this range, the tilt will be set to the closest valid value.getRecentImage()
,
getImageUpdateTime()
Method Detail |
public void setDistance(int distance)
public void setAngle(int ang)
public void setSpeed(int s)
public void setSafetyLevel(byte level)
level
- CYCLE_SAFETY, STATIC_SAFETY, or NO_SAFETYpublic void setTakePictures(boolean takePictures)
takePictures
- true to turn on picture taking, false to turn picture
taking off.public void setPictureAngles(int pan, int tilt)
pan
- The pan angle (in degrees) to position the head at when taking pictures.
This value should be in the range of [-180, 180]. If you choose an angle outside
of this range, the pan will be set to the closest valid value.
Positive angles are to the left.tilt
- The tilt angle (in degrees) to position the head at when taking pictures.
This value should be in the range of [-50, 90]. If you choose an angle outside
of this range, the tilt will be set to the closest valid value.public boolean doAction(Rover r)
Action
doAction
in interface Action
public int getTime()
getTime
in interface Action
public java.lang.String getSummary()
Action
getSummary
in interface Action
public java.lang.String getShortSummary()
Action
getShortSummary
in interface Action
public int getReturnValue()
getReturnValue
in interface Action
RoverState
public boolean isSuccess()
isSuccess
in interface Action
public java.awt.image.BufferedImage getRecentImage()
Action
getRecentImage
in interface Action
public long getImageUpdateTime()
Action
getImageUpdateTime
in interface Action
public boolean isCompleted()
Action
isCompleted
in interface Action
public void kill()
Action
kill
in interface Action
public int getTimeRemaining()
Action
getTimeRemaining
in interface Action
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |